Error correction encoding is employed in a variety of settings to improve the reliability of data. At a basic level, error correction encoding introduces redundancy into a bit stream to increase the probability that the information in the bit stream is transferred successfully from one end of a channel to another. For example, error correction encoding is used when data is written to disk, communicated wirelessly, or otherwise transferred over a noisy channel that introduces errors into the data.
While typically employed in the lower layers of a communications stack, some applications employ error correction to improve the reliability of their data. Voice and video applications may encode their media streams, for example, to ensure that their conversations, video clips, or other such content reach their destination intact. An encoded media stream will have a level of redundancy that may be expressed in terms of a code rate. For instance, a one-half code rate would indicate that half of the bits in an encoded media stream are redundant relative to the original bits in the stream.
Even when an application protects its media stream with error correction encoding, the media stream may still be at risk due to the fundamental characteristics of the channel being used to communicate the data. This may especially be the case when relying upon a single wireless link between a client and a wider network for communications that are sensitive to delay.